package com.cwnu.sw.cys.core.common.event;

import com.cwnu.sw.cys.core.user.domain.entity.User;
import lombok.Data;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;

import java.time.Clock;

/**
 * @author jisam
 * @version 1.0
 * @contact "jisamchan@outlook.com"
 * @date 29/03/2025
 * @description 用户注册事件
 */
@Getter
public class UserRegisterEvent extends ApplicationEvent {
    private User user;

    /**
     * 构造函数，用于创建用户注册事件实例。
     *
     * @param source 事件源对象，通常是触发事件的对象。
     * @param user 注册的用户对象，包含用户的相关信息。
     */
    public UserRegisterEvent(Object source, User user) {
        super(source);
        this.user = user;
    }

    /**
     * 构造函数，用于创建用户注册事件实例，并指定时钟。
     *
     * @param source 事件源对象，通常是触发事件的对象。
     * @param clock 用于事件时间戳的时钟对象。
     */
    public UserRegisterEvent(Object source, Clock clock) {
        super(source, clock);
    }
}
